package com.story.api.moduler.song.service;

import com.story.api.common.persistence.model.AgeType;
import com.story.api.common.result.PageResult;
import com.story.api.moduler.song.transfer.BannerVo;
import com.story.api.moduler.song.transfer.vo.AlbumVo;
import com.story.api.moduler.song.transfer.vo.BannerAndAlbumVo;
import com.story.api.moduler.song.transfer.vo.MediaResourceVo;
import com.story.api.moduler.song.transfer.vo.recommend.RecommendVo;

import java.util.List;

/**
 * @author yangbo
 * @date 2019-07-09 8:42
 */
public interface SongV2Service {

    /**
     * 推荐位列表
     * @return
     */
    List<RecommendVo> getRecommendList(Integer templateId);

    /**
     * 首页视频分页列表
     * @param ageRange
     * @param pageSize
     * @param pageSize
     * @return
     */
    PageResult getMediaPageList(Integer ageRange,Integer pageNo,Integer pageSize);

    /**
     * 得到年龄范围
     * @return
     */
    List<AgeType> getAges();

    /**
     * 栏目列表
     * @return
     */
    List<BannerVo> bannerList(Integer type);

    /**
     * 查看推荐专辑
     * @param type
     * @return
     */
    List<AlbumVo> recommendAlbum(Integer type);

    /**
     * 栏目和专辑的列表
     * @param type
     * @return
     */
    List<BannerAndAlbumVo> bannerAndAlbumList(Integer type);

    /**
     * 栏目下的专辑列表
     * @param bannerId
     * @return
     */
    PageResult albumList(Integer bannerId,Integer pageNo,Integer pageSize);

    /**
     * 专辑下的媒体资源列表
     * @param albumId
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageResult mediaList(Integer albumId,Integer pageNo,Integer pageSize);

    /**
     * 专辑详情信息
     * @param albumId
     * @return
     */
    AlbumVo albumDetail(Integer albumId);

    /**
     * 相似列表
     * @param albumId
     * @return
     */
    List<AlbumVo> similarList(Integer albumId);


}
